1. Technical Field
This disclosure relates to electronic design automation (EDA). More specifically, this disclosure relates to systems and techniques for fixing design requirement violations in multiple multi-corner multi-mode scenarios.
2. Related Art
Rapid advances in computing technology have made it possible to perform trillions of computational operations each second on data sets that are sometimes as large as trillions of bytes. These advances can be largely attributed to the exponential increase in the size and complexity of integrated circuits.
To ensure that a manufactured chip will perform as desired, the circuit design is usually checked for compliance with a large number of design requirements. In fact, a circuit design is typically not manufactured until it satisfies the design requirements which can include, but are not limited to, timing requirements, noise requirements, leakage requirements, etc.
In a typical circuit design flow, a compliance checking tool is used to identify design requirement violations in a circuit design. Incremental adjustments are then made to the circuit design to fix the design requirement violations. Once the circuit design is violation free, the circuit design can be readied for manufacturing.
The advance to smaller semiconductor geometries has increased the variability in process and operating conditions of integrated circuits. A process corner is a particular set of process conditions under which the circuit design may be manufactured. An operating corner is a particular set of operating conditions (e.g., temperature, voltage) under which the circuit design may operate.
One reason for the increase in complexity of circuit designs is the introduction of a large number of operating modes (e.g., stand-by, mission, test, etc.). Specifically, some parts of the circuit design may be completely switched off in certain operating modes. Further, different operating modes can have drastically different voltages, clock speeds, etc.
It is desirable to ensure that a circuit design meets the functional and performance goals under all combinations of process corners, operating conditions, and/or operating modes. The term “Multi-Corner/Multi-Mode (MCMM) scenario,” or “scenario” for short, refers to a combination of a particular process corner, a particular operating condition, and/or a particular operating mode.
Fixing a design requirement violation in one scenario may create new violations in other scenarios. Hence, the process of identifying and fixing violations typically needs to be performed multiple times and across multiple scenarios. Unfortunately, the amount of time required to fix design requirement violations is increasing rapidly because the size and complexity of circuit designs is increasing rapidly and because the number of scenarios over which circuit designs need to be checked is increasing rapidly.